<?php

class Acceso_UsuarioController extends Zend_Controller_Action
{

    public function init()
    {
        /* Initialize action controller here */
        $this->initView();
        $this->view->baseUrl = $this->_request->getBaseUrl();
		$this->_options= $this->getInvokeArg('bootstrap')->getOptions();
		// Añado las archivos css y javascript necesarios para el funcionamiento de la vista
        //librerias de jqueryui
		$this->view->headLink()->appendStylesheet($this->view->baseUrl('/jquery-ui/css/start/jquery-ui-1.8.16.custom.css'));		
		$this->view->headScript()->appendFile($this->view->baseUrl('/jquery-ui/js/jquery-1.6.2.min.js'));
		$this->view->headScript()->appendFile($this->view->baseUrl('/jquery-ui/js/jquery-ui-1.8.16.custom.min.js'));
		//Validaciones
		$this->view->headLink()->appendStylesheet($this->view->baseUrl('/Validation/css/validationEngine.jquery.css'));
		$this->view->headLink()->appendStylesheet($this->view->baseUrl('/Validation/css/template.css'));		
		$this->view->headScript()->appendFile($this->view->baseUrl('/Validation/js/jquery.validationEngine-es.js'));
		$this->view->headScript()->appendFile($this->view->baseUrl('/Validation/js/jquery.validationEngine.js'));
		$this->view->headScript()->appendFile($this->view->baseUrl('/js/infacov_usuario.js'));
        $this->view->headLink()->appendStylesheet($this->view->baseUrl('/css/menu-vertical.css'));
    }
	
	public function indexAction(){
		$this->view->headScript()->appendFile($this->view->baseUrl('/js/jquery.js'));
        $this->view->headScript()->appendFile($this->view->baseUrl('/js/jquery.dataTables.js'));
        $this->view->headLink()->appendStylesheet($this->view->baseUrl('/css/demo_table.css'));
        $this->view->headLink()->appendStylesheet($this->view->baseUrl('/css/format_table.css'));
		$this->view->id  = $this->getRequest()->getParam('id');
		$this->view->id_padre  = $this->getRequest()->getParam('idp');
		$tbUsuario = new Acceso_Model_Usuario();
		$this->view->datUsuarios = $tbUsuario->listar_usuario();
		$this->view->url = $this->getRequest()->getModuleName().'/'.$this->getRequest()->getControllerName().'/'.$this->getRequest()->getActionName();
	}
	
	public function toupper($cadena)
    {
        $f = new Zend_Filter_StringToUpper(array('encoding' => 'UTF-8'));
                                 $mayus= $f->filter($cadena);
                                 return $mayus ;
    }
    
    public function ingresarusuarioAction()
    {
		$this->view->id  = $this->getRequest()->getParam('id');
		$this->view->id_padre  = $this->getRequest()->getParam('idp');
	   //buscar la ultima usuario asignada
		$tbUsuario = new Acceso_Model_Usuario();
        $us= $tbUsuario->consultar_ultimo_usuario();
        $this->view->id_usuario = ((int)$us->ultm_id) + 1;
		//listo los roles existentes
		$tbRoles = new Acceso_Model_Rol();
        $this->view->datRoles = $tbRoles->listar_rol();
    }
	
	public function agregausuarioAction()
    {
		 //los formularios envian sus datos a traves de POST
         //si vienen datos de post, es que el usuario ha enviado el formulario
         if ($this->getRequest()->isPost())
         {
             //REALIZAMOS EL INGRESO DE LOS DATOS			   
               $nombres  = $this->toupper($this->getRequest()->getParam('nombres'));
			   $apellidos = $this->toupper($this->getRequest()->getParam('apellidos'));
               $direccion  = $this->toupper($this->getRequest()->getParam('direccion'));
               $email  = $this->getRequest()->getParam('email');
               $usuario  =  $this->getRequest()->getParam('usuario');
               $clave = $this->getRequest()->getParam('clave');
               $activo =  $this->getRequest()->getParam('activo');
			   $id_rol =  $this->getRequest()->getParam('id_rol');
			   if(!empty($id_rol)) {
                //llamo a mi modelo
			    $tbUsuario = new Acceso_Model_Usuario();
			    $tbUsuario->getAdapter()->beginTransaction();
        		try{
						//llamo a la accion de ingreso			   
						$tbUsuario->insertar($nombres, $apellidos, $direccion, $email, $usuario, $clave, $activo);
						$us= $tbUsuario->consultar_ultimo_usuario();
						$id_usuario = (int)$us->ultm_id;
						$tbUsuario->getAdapter()->commit();
     	  		}catch(Exception $e ) {
	        		// Si hubo problemas. Enviamos todo marcha atras
           			$tbUsuario->getAdapter()->rollBack();
					$tbRolUsuario->getAdapter()->rollBack();
	        		// echo $e->getMessage();
     	  		}            
				$tbRolUsuario = new Acceso_Model_RolUsuario();
				$tbRolUsuario->insertar($id_usuario,$id_rol);
               //redirecciono a el principal
               //$this->_helper->redirector('index','ingresado');
			   }
         }
    } 
}

